#pragma once
#include <string>
#include <sstream>

enum LOG_LEVEL
{
	LOG_LEVEL_LOG,
	LOG_LEVEL_WARN,
	LOG_LEVEL_ERROR,
	LOG_LEVEL_NONE,
};

class Log4c
{
public:
	Log4c(void);
	~Log4c(void);

	static void log(const std::string& MSG, LOG_LEVEL level=LOG_LEVEL_LOG);
};

#define clog(msg) { std::stringstream ss; ss << msg; Log4c::log(ss.str(), LOG_LEVEL_LOG); }
#define cwarn(msg) { std::stringstream ss; ss << msg; Log4c::log(ss.str(), LOG_LEVEL_WARN); }
#define cerror(msg) { std::stringstream ss; ss << msg; Log4c::log(ss.str(), LOG_LEVEL_ERROR); }